Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit 6a75e673ba1a93dad669cd13b3e5fbfb03c6c330


Parents : ad79f1d
Author : Ivan <ivan@quad4.io>
Signature : Invalid signer <e46112d44649266d71fe2193e00a4710>, author is <ivan@quad4.io>
Date : 2026-07-15T13:30:54-05:00

fix: decode content and title in lxmf_message_try_paper_uri_string for proper string handling

Changes

2 files changed, 6 insertions(+), 2 deletions(-)


Diff

diff --git a/meshchatx.rsm b/meshchatx.rsm
index 46ccf258..c51f9acb 100644
Binary files a/meshchatx.rsm and b/meshchatx.rsm differ

diff --git a/meshchatx/src/backend/meshchat_utils.py b/meshchatx/src/backend/meshchat_utils.py
index 6db7037c..6732bcec 100644
--- a/meshchatx/src/backend/meshchat_utils.py
+++ b/meshchatx/src/backend/meshchat_utils.py
@@ -327,10 +327,14 @@ def lxmf_message_try_paper_uri_string(lxm) -> tuple[str | None, str | None]:
return None, "Message is missing source or destination"
fields = copy.deepcopy(lxm.get_fields() or {})
content = lxm.content
- if not isinstance(content, (bytes, bytearray)):
+ if isinstance(content, (bytes, bytearray)):
+ content = content.decode("utf-8", errors="replace")
+ elif not isinstance(content, str):
content = lxm.content_as_string() or ""
title = lxm.title
- if not isinstance(title, (bytes, bytearray)):
+ if isinstance(title, (bytes, bytearray)):
+ title = title.decode("utf-8", errors="replace")
+ elif not isinstance(title, str):
title = lxm.title_as_string() or ""
paper = LXMF.LXMessage(
dest,


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────